package com.dingreading.cloud.soms.dto;

import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class CaScheduleLessonDto implements Serializable {

    /**
     * 公司uid
     */
    private String corpUid;

    /**
     * 门店uid
     */
    private String storeUid;

    /**
     * 门店名称
     */
    private String storeName;

    /**
     * 活动表id
     */
    private Long scheduleId;

    /**
     * 课程表uid
     */
    private String scheduleUid;

    /**
     * 活动uid
     */
    private String lessonUid;

    /**
     * 活动日期
     */
    private String teachDate;

    /**
     * 周几，系统内数字
     */
    private Integer weekNum;

    /**
     * 周几，周一
     */
    private String weekName;

    /**
     * 活动开始时间 HH:mm
     */
    private String beginTime;

    /**
     * 活动结束时间 HH:mm
     */
    private String endTime;

    /**
     * 社团id
     */
    private Long classId;

    /**
     * 社团uid
     */
    private String classUid;

    /**
     * 社团名称
     */
    private String className;

    /**
     * 服务名称
     */
    private String productName;

    /**
     * 服务uid
     */
    private String projectUid;

    /**
     * 收费状态 1.收费 0.免费
     */
    private Integer freeStatus;

    /**
     * 服务阶段uid
     */
    private String stageUid;

    /**
     * 服务项目阶段名称
     */
    private String stageName;

    /**
     * 活动室id
     */
    private Long roomId;

    /**
     * 活动室uid
     */
    private String roomUid;

    /**
     * 活动室名称
     */
    private String roomName;

    /**
     * 活动内容
     */
    private String content;

    /**
     * 主讲导读uid
     */
    private String teacherUid;

    /**
     * 主讲导读名
     */
    private String teacherName;

    /**
     * 导读username集合
     */
    private String usernames;

    /**
     * 社团的会员数量
     */
    private Integer studentNum;

    /**
     * 插班、补缺、试听的会员数量
     */
    private Integer studentTempNum;

    /**
     * 会员到达数量
     */
    private Integer reachNum;
    /**
     * 会员迟到数量
     */
    private Integer lateNum;
    /**
     * 会员请假数量
     */
    private Integer askLeaveNum;
    /**
     * 会员未到数量
     */
    private Integer notReachNum;
    /**
     * 会员未扣课时数量
     */
    private Integer noHourNum;

    /**
     * 备注
     */
    private String remark;

    /**
     * 活动状态 -1.已取消 0.未进行 1.已进行 2.已完成
     */
    private Integer status;

    /**
     * 创建人uid
     */
    private String addStaffUid;

    /**
     * 创建人姓名
     */
    private String addStaffName;

    /**
     * 更新人uid
     */
    private String lastStaffUid;

    /**
     * 更新人姓名
     */
    private String lastStaffName;

    /**
     * 完成人uid
     */
    private String closeStaffUid;

    /**
     * 完成人姓名
     */
    private String closeStaffName;

    /**
     * 点名时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;

    /**
     * 完成时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date closeTime;

    /**
     * 添加时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    /**
     * 更新时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date editTime;

    private List<CaTeacherDto> teacherList;

    private JSONArray hourTypes;

}
